This invention relates to rendering a two-dimensional (xe2x80x9c2Dxe2x80x9d) image from data for a three-dimensional (xe2x80x9c3Dxe2x80x9d) model.
There are different types of 2D images. For example, gouraud-shaded 2D images are shaded in a way to simulate real-world photorealistic lighting. By contrast, one style of non-photorealistic 2D images are xe2x80x9cflatxe2x80x9d, cartoon-like images. In traditional animation, such images are drawn on cels, often by hand. Each time a new perspective of a 3D model is required, an entirely new image is redrawn on a new cel. Recently, animators have begun to use computers to render non-photorealistic 2D images.
In general, in one aspect of the invention, a 2D image is rendered from data for a 3D model by detecting silhouette features on the 3D model, and rendering the silhouette features to produce the 2D image.
Among the advantages of the invention are one or more of the following. 2D images, such as nonphotorealistic images, can be rendered for any position and view of the 3D model. Therefore, once data has been generated for the 3D model, the same 3D data can be used to produce any number of 2D images. For example, the 3D model can be positioned, and a 2D image rendered for that position. The same 3D model can then be repositioned, and a new 2D image rendered for the new position, using the same 3D data. A hash table may be used during load-time of a model to decrease the amount of time it takes to find edges of the model, and thus decrease processing time overall.